home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SPACE 2
/
SPACE - Library 2 - Volume 1.iso
/
music
/
188
/
c
/
parse.c
< prev
next >
Wrap
C/C++ Source or Header
|
1987-10-14
|
664b
|
46 lines
#include <ctype.h>
#include "qsed.h"
void parse(data,cmd) /* parse a command line into parts */
char *data;
COMMAND *cmd;
{
int i=0,result[2];
result[0]=result[1]=0;
while(*data)
{
if(isdigit(*data))
result[i]=result[i]*10+(*data++ - '0');
else if(*data == ',' && i==0)
{
i++;
data++;
}
else break;
}
cmd->start=result[0];
cmd->end=result[i];
switch(*data)
{
case 'a':
cmd->type=COM_ADD;
break;
case 'c':
cmd->type=COM_CHG;
break;
case 'd':
cmd->type=COM_DEL;
break;
default:
cmd->type=COM_ERR;
break;
}
if((cmd->type & COM_DEL)==COM_DEL)
{
cmd->start--;
}
}